﻿using BCCommon;
using BCDto.Sim.Admin.Admin;
using BCDto.TMS.MarketingCoupon.MarketingCouponReceive;
using BCEntity.TMS.MarketingCoupon.MarketingCouponReceive;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BCService.TMS.MarketingCoupon.MarketingCouponReceive
{
    public interface IMarketingCouponReceiveService
    {
        /// <summary>
        /// 获取分页
        /// </summary>
        /// <param name="marketingCouponTypeId">优惠券类型Id</param>
        /// <param name="userId">用户Id</param>
        /// <param name="isInvalid">是否失效</param>
        /// <param name="isUse">是否可以使用</param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageableList<MarketingCouponReceiveDto> Query(long? marketingCouponTypeId, long? userId, bool? isInvalid,
            bool? isUse, int pageIndex, int pageSize);

        /// <summary>
        /// 获取详情
        /// </summary>
        /// <param name="marketingCouponReceiveId">优惠券领取记录Id</param>
        /// <returns></returns>
        MarketingCouponReceiveDto GetInfo(long marketingCouponReceiveId);
        /// <summary>
        /// 检查优惠券领取记录是否存在
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="marketingCouponId">优惠券Id</param>
        /// <returns></returns>
        bool Exists(long userId, long marketingCouponId);
    }
}
